Systems and methods for cryptographic authentication of contactless cards

ABSTRACT

Example embodiments of systems and methods for data transmission in a contactless card are provided. The contactless card may include a processor, and a memory. The memory may contain a first applet, a second applet, and a plurality of keys. The first applet and the second applet may be stored within a shared security domain. The second applet may be configured to communicate with the first applet to perform one or more cryptographic services. The second applet may be configured to transmit one or more requests to the first applet to encode one or more payload strings based on the plurality of keys to perform the one or more cryptographic services. The first applet may be configured to perform the one or more cryptographic services on behalf of the second applet based on the one or more requests.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation-in-part of U.S. patent applicationSer. No. 16/205,119, filed on Nov. 29, 2018, and claims priority fromU.S. Provisional Application No. 62/740,352, filed on Oct. 2, 2018, thedisclosures of which are incorporated herein by reference in theirentirety.

FIELD OF THE INVENTION

The present disclosure relates to cryptography, and more particularly,to systems and methods for the cryptographic authentication ofcontactless cards.

BACKGROUND

Data security and transaction integrity are of critical importance tobusinesses and consumers. This need continues to grow as electronictransactions constitute an increasingly large share of commercialactivity.

Email may be used as a tool to verify transactions, but email issusceptible to attack and vulnerable to hacking or other unauthorizedaccess. Short message service (SMS) messages may also be used, but thatis subject to compromise as well. Moreover, even data encryptionalgorithms, such as triple DES algorithms, have similar vulnerabilities.

Activating many cards, including for example financial cards (e.g.,credit cards and other payment cards), involves the time-consumingprocess of cardholders calling a telephone number or visiting a websiteand entering or otherwise providing card information. Further, while thegrowing use of chip-based financial cards provides more secure featuresover the previous technology (e.g., magnetic strip cards) for in-personpurchases, account access still may rely on log-in credentials (e.g.,username and password) to confirm a cardholder's identity. However, ifthe log-in credentials are compromised, another person could have accessto the user's account.

These and other deficiencies exist. Accordingly, there is a need toprovide users with an appropriate solution that overcomes thesedeficiencies to provide data security, authentication, and verificationfor contactless cards. Further, there is a need for both an improvedmethod of activating a card and an improved authentication for accountaccess.

SUMMARY

Aspects of the disclosed technology include systems and methods forcryptographic authentication of contactless cards. Various embodimentsdescribe systems and methods for implementing and managing cryptographicauthentication of contactless cards.

Embodiments of the present disclosure provide a contactless card sharingsystem comprising: a contactless card including a processor, and amemory, wherein the memory contains a first applet, a second applet, anda plurality of keys, the first applet and the second applet are storedwithin a shared security domain; wherein the second applet is configuredto communicate with the first applet to perform one or morecryptographic services, wherein the second applet is configured totransmit one or more requests to the first applet to encode one or morepayload strings based on the plurality of keys to perform the one ormore cryptographic services, and wherein the first applet is configuredto perform the one or more cryptographic services on behalf of thesecond applet based on the one or more requests.

Embodiments of the present disclosure provide a method of sharingprivate keys in a contactless card comprising: establishingcommunication between a first applet and a second applet of acontactless card, the contactless card comprising one or moreprocessors, and memory containing the first and second applets and aplurality of private keys, the first and second applets are createdwithin a shared security domain, communicating, by the second applet, afirst request to the first applet to perform one or more cryptographicoperations; retrieving, by the first applet, the plurality of privatekeys based on the first request; receiving, at the second applet, fromthe first applet one or more payload strings based on the plurality ofprivate keys; and performing, based on the plurality of private keys,the one or more cryptographic operations by the first applet on behalfof the second applet based on the first request.

Embodiments of the present disclosure provide a contactless cardcomprising: one or more processors, one or more memories, wherein theone or more memories contains a first applet, a second applet, and aplurality of private keys; wherein the second applet is configured tocommunicate with the first applet to perform cryptogram generation;wherein the second applet is configured to transmit one or more requeststo the first applet to encode one or more payload strings based on theplurality of private keys to perform the cryptogram generation, andwherein the first applet and the second applet are stored within a firstsecurity domain and a second security domain, respectively.

Further features of the disclosed design, and the advantages offeredthereby, are explained in greater detail hereinafter with reference tospecific example embodiments illustrated in the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A is a diagram of a data transmission system according to anexample embodiment.

FIG. 1B is a diagram illustrating a sequence for providing authenticatedaccess according to an example embodiment.

FIG. 2 is a diagram of a data transmission system according to anexample embodiment.

FIG. 3 is a diagram of a system using a contactless card according to anexample embodiment.

FIG. 4 is a flowchart illustrating a method of key diversificationaccording to an example embodiment.

FIG. 5A is an illustration of a contactless card according to an exampleembodiment.

FIG. 5B is an illustration of a contact pad of the contactless cardaccording to an example embodiment.

FIG. 6 is an illustration depicting a message to communicate with adevice according to an example embodiment.

FIG. 7 is an illustration depicting a message and a message formataccording to an example embodiment.

FIG. 8 is a flowchart illustrating key operations according to anexample embodiment.

FIG. 9 is a diagram of a key system according to an example embodiment.

FIG. 10 is a flowchart of a method of generating a cryptogram accordingto an example embodiment.

FIG. 11 is a flowchart illustrating a process of key diversificationaccording to an example embodiment.

FIG. 12 is a flowchart illustrating a method for card activationaccording to an example embodiment.

FIG. 13 is a contactless card sharing system according to an exampleembodiment.

FIG. 14A is an access system for sharing keys according to an exampleembodiment.

FIG. 14B is another access system for sharing keys according to anexample embodiment.

FIG. 15 is a flowchart illustrating a method for sharing keys in acontactless card according to an example embodiment.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

The following description of embodiments provides non-limitingrepresentative examples referencing numerals to particularly describefeatures and teachings of different aspects of the invention. Theembodiments described should be recognized as capable of implementationseparately, or in combination, with other embodiments from thedescription of the embodiments. A person of ordinary skill in the artreviewing the description of embodiments should be able to learn andunderstand the different described aspects of the invention. Thedescription of embodiments should facilitate understanding of theinvention to such an extent that other implementations, not specificallycovered but within the knowledge of a person of skill in the art havingread the description of embodiments, would be understood to beconsistent with an application of the invention.

An objective of some embodiments of the present disclosure is to buildone or more keys into one or more contactless cards. In theseembodiments, the contactless card can perform authentication andnumerous other functions that may otherwise require the user to carry aseparate physical token in addition to the contactless card. Byemploying a contactless interface, contactless cards may be providedwith a method to interact and communicate between a user's device (suchas a mobile phone) and the card itself. For example, the EMV protocol,which underlies many credit card transactions, includes anauthentication process which suffices for operating systems for Android®but presents challenges for iOS®, which is more restrictive regardingnear field communication (NFC) usage, as it can be used only in aread-only manner. Exemplary embodiments of the contactless cardsdescribed herein utilize NFC technology.

FIG. 1A illustrates a data transmission system according to an exampleembodiment. As further discussed below, system 100 may includecontactless card 105, client device 110, network 115, and server 120.Although FIG. 1A illustrates single instances of the components, system100 may include any number of components.

System 100 may include one or more contactless cards 105, which arefurther explained below with reference to FIGS. 5A-5B. In someembodiments, contactless card 105 may be in wireless communication,utilizing NFC in an example, with client device 110.

System 100 may include client device 110, which may be a network-enabledcomputer. As referred to herein, a network-enabled computer may include,but is not limited to a computer device, or communications deviceincluding, e.g., a server, a network appliance, a personal computer, aworkstation, a phone, a handheld PC, a personal digital assistant, athin client, a fat client, an Internet browser, or other device. Clientdevice 110 also may be a mobile device; for example, a mobile device mayinclude an iPhone, iPod, iPad from Apple® or any other mobile devicerunning Apple's iOS® operating system, any device running Microsoft'sWindows® Mobile operating system, any device running Google's Android®operating system, and/or any other smartphone, tablet, or like wearablemobile device.

The client device 110 device can include a processor and a memory, andit is understood that the processing circuitry may contain additionalcomponents, including processors, memories, error and parity/CRCcheckers, data encoders, anticollision algorithms, controllers, commanddecoders, security primitives and tamperproofing hardware, as necessaryto perform the functions described herein. The client device 110 mayfurther include a display and input devices. The display may be any typeof device for presenting visual information such as a computer monitor,a flat panel display, and a mobile device screen, including liquidcrystal displays, light-emitting diode displays, plasma panels, andcathode ray tube displays. The input devices may include any device forentering information into the user's device that is available andsupported by the user's device, such as a touch-screen, keyboard, mouse,cursor-control device, touch-screen, microphone, digital camera, videorecorder or camcorder. These devices may be used to enter informationand interact with the software and other devices described herein.

In some examples, client device 110 of system 100 may execute one ormore applications, such as software applications, that enable, forexample, network communications with one or more components of system100 and transmit and/or receive data.

Client device 110 may be in communication with one or more servers 120via one or more networks 115, and may operate as a respective front-endto back-end pair with server 120. Client device 110 may transmit, forexample from a mobile device application executing on client device 110,one or more requests to server 120. The one or more requests may beassociated with retrieving data from server 120. Server 120 may receivethe one or more requests from client device 110. Based on the one ormore requests from client device 110, server 120 may be configured toretrieve the requested data from one or more databases (not shown).Based on receipt of the requested data from the one or more databases,server 120 may be configured to transmit the received data to clientdevice 110, the received data being responsive to one or more requests.

System 100 may include one or more networks 115. In some examples,network 115 may be one or more of a wireless network, a wired network orany combination of wireless network and wired network, and may beconfigured to connect client device 110 to server 120. For example,network 115 may include one or more of a fiber optics network, a passiveoptical network, a cable network, an Internet network, a satellitenetwork, a wireless local area network (LAN), a Global System for MobileCommunication, a Personal Communication Service, a Personal AreaNetwork, Wireless Application Protocol, Multimedia Messaging Service,Enhanced Messaging Service, Short Message Service, Time DivisionMultiplexing based systems, Code Division Multiple Access based systems,D-AMPS, Wi-Fi, Fixed Wireless Data, IEEE 802.11b, 802.15.1, 802.11n and802.11g, Bluetooth, NFC, Radio Frequency Identification (RFID), Wi-Fi,and/or the like.

In addition, network 115 may include, without limitation, telephonelines, fiber optics, IEEE Ethernet 902.3, a wide area network, awireless personal area network, a LAN, or a global network such as theInternet. In addition, network 115 may support an Internet network, awireless communication network, a cellular network, or the like, or anycombination thereof. Network 115 may further include one network, or anynumber of the exemplary types of networks mentioned above, operating asa stand-alone network or in cooperation with each other. Network 115 mayutilize one or more protocols of one or more network elements to whichthey are communicatively coupled. Network 115 may translate to or fromother protocols to one or more protocols of network devices. Althoughnetwork 115 is depicted as a single network, it should be appreciatedthat according to one or more examples, network 115 may comprise aplurality of interconnected networks, such as, for example, theInternet, a service provider's network, a cable television network,corporate networks, such as credit card association networks, and homenetworks.

System 100 may include one or more servers 120. In some examples, server120 may include one or more processors, which are coupled to memory.Server 120 may be configured as a central system, server or platform tocontrol and call various data at different times to execute a pluralityof workflow actions. Server 120 may be configured to connect to the oneor more databases. Server 120 may be connected to at least one clientdevice 110.

FIG. 1B is a timing diagram illustrating an example sequence forproviding authenticated access according to one or more embodiments ofthe present disclosure. System 100 may comprise contactless card 105 andclient device 110, which may include an application 122 and processor124. FIG. 1B may reference similar components as illustrated in FIG. 1A.

At step 102, the application 122 communicates with the contactless card105 (e.g., after being brought near the contactless card 105).Communication between the application 122 and the contactless card 105may involve the contactless card 105 being sufficiently close to a cardreader (not shown) of the client device 110 to enable NFC data transferbetween the application 122 and the contactless card 105.

At step 104, after communication has been established between clientdevice 110 and contactless card 105, the contactless card 105 generatesa message authentication code (MAC) cryptogram. In some examples, thismay occur when the contactless card 105 is read by the application 122.In particular, this may occur upon a read, such as an NFC read, of anear field data exchange (NDEF) tag, which may be created in accordancewith the NFC Data Exchange Format. For example, a reader, such asapplication 122, may transmit a message, such as an applet selectmessage, with the applet ID of an NDEF producing applet. Uponconfirmation of the selection, a sequence of select file messagesfollowed by read file messages may be transmitted. For example, thesequence may include “Select Capabilities file”, “Read Capabilitiesfile”, and “Select NDEF file”. At this point, a counter value maintainedby the contactless card 105 may be updated or incremented, which may befollowed by “Read NDEF file.” At this point, the message may begenerated which may include a header and a shared secret. Session keysmay then be generated. The MAC cryptogram may be created from themessage, which may include the header and the shared secret. The MACcryptogram may then be concatenated with one or more blocks of randomdata, and the MAC cryptogram and a random number (RND) may be encryptedwith the session key. Thereafter, the cryptogram and the header may beconcatenated, and encoded as ASCII hex and returned in NDEF messageformat (responsive to the “Read NDEF file” message).

In some examples, the MAC cryptogram may be transmitted as an NDEF tag,and in other examples the MAC cryptogram may be included with a uniformresource indicator (e.g., as a formatted string).

In some examples, application 122 may be configured to transmit arequest to contactless card 105, the request comprising an instructionto generate a MAC cryptogram.

At step 106, the contactless card 105 sends the MAC cryptogram to theapplication 122. In some examples, the transmission of the MACcryptogram occurs via NFC, however, the present disclosure is notlimited thereto. In other examples, this communication may occur viaBluetooth, Wi-Fi, or other means of wireless data communication.

At step 108, the application 122 communicates the MAC cryptogram to theprocessor 124.

At step 112, the processor 124 verifies the MAC cryptogram pursuant toan instruction from the application 122. For example, the MAC cryptogrammay be verified, as explained below.

In some examples, verifying the MAC cryptogram may be performed by adevice other than client device 110, such as a server 120 in datacommunication with the client device 110 (as shown in FIG. 1A). Forexample, processor 124 may output the MAC cryptogram for transmission toserver 120, which may verify the MAC cryptogram.

In some examples, the MAC cryptogram may function as a digital signaturefor purposes of verification. Other digital signature algorithms, suchas public key asymmetric algorithms, e.g., the Digital SignatureAlgorithm and the RSA algorithm, or zero knowledge protocols, may beused to perform this verification.

FIG. 2 illustrates a data transmission system according to an exampleembodiment. System 200 may include a transmitting or sending device 205,a receiving or recipient device 210 in communication, for example vianetwork 215, with one or more servers 220. Transmitting or sendingdevice 205 may be the same as, or similar to, client device 110discussed above with reference to FIG. 1A. Receiving or recipient device210 may be the same as, or similar to, client device 110 discussed abovewith reference to FIG. 1A. Network 215 may be similar to network 115discussed above with reference to FIG. 1A. Server 220 may be similar toserver 120 discussed above with reference to FIG. 1A. Although FIG. 2shows single instances of components of system 200, system 200 mayinclude any number of the illustrated components.

When using symmetric cryptographic algorithms, such as encryptionalgorithms, hash-based message authentication code (HMAC) algorithms,and cipher-based message authentication code (CMAC) algorithms, it isimportant that the key remain secret between the party that originallyprocesses the data that is protected using a symmetric algorithm and thekey, and the party who receives and processes the data using the samecryptographic algorithm and the same key.

It is also important that the same key is not used too many times. If akey is used or reused too frequently, that key may be compromised. Eachtime the key is used, it provides an attacker an additional sample ofdata which was processed by the cryptographic algorithm using the samekey. The more data which the attacker has which was processed with thesame key, the greater the likelihood that the attacker may discover thevalue of the key. A key used frequently may be comprised in a variety ofdifferent attacks.

Moreover, each time a symmetric cryptographic algorithm is executed, itmay reveal information, such as side-channel data, about the key usedduring the symmetric cryptographic operation. Side-channel data mayinclude minute power fluctuations which occur as the cryptographicalgorithm executes while using the key. Sufficient measurements may betaken of the side-channel data to reveal enough information about thekey to allow it to be recovered by the attacker. Using the same key forexchanging data would repeatedly reveal data processed by the same key.

However, by limiting the number of times a particular key will be used,the amount of side-channel data which the attacker is able to gather islimited and thereby reduce exposure to this and other types of attack.As further described herein, the parties involved in the exchange ofcryptographic information (e.g., sender and recipient) can independentlygenerate keys from an initial shared master symmetric key in combinationwith a counter value, and thereby periodically replace the sharedsymmetric key being used with needing to resort to any form of keyexchange to keep the parties in sync. By periodically changing theshared secret symmetric key used by the sender and the recipient, theattacks described above are rendered impossible.

Referring back to FIG. 2, system 200 may be configured to implement keydiversification. For example, a sender and recipient may desire toexchange data (e.g., original sensitive data) via respective devices 205and 210. As explained above, although single instances of transmittingdevice 205 and receiving device 210 may be included, it is understoodthat one or more transmitting devices 205 and one or more receivingdevices 210 may be involved so long as each party shares the same sharedsecret symmetric key. In some examples, the transmitting device 205 andreceiving device 210 may be provisioned with the same master symmetrickey. Further, it is understood that any party or device holding the samesecret symmetric key may perform the functions of the transmittingdevice 205 and similarly any party holding the same secret symmetric keymay perform the functions of the receiving device 210. In some examples,the symmetric key may comprise the shared secret symmetric key which iskept secret from all parties other than the transmitting device 205 andthe receiving device 210 involved in exchanging the secure data. It isfurther understood that both the transmitting device 205 and receivingdevice 210 may be provided with the same master symmetric key, andfurther that part of the data exchanged between the transmitting device205 and receiving device 210 comprises at least a portion of data whichmay be referred to as the counter value. The counter value may comprisea number that changes each time data is exchanged between thetransmitting device 205 and the receiving device 210.

System 200 may include one or more networks 215. In some examples,network 215 may be one or more of a wireless network, a wired network orany combination of wireless network and wired network, and may beconfigured to connect one or more transmitting devices 205 and one ormore receiving devices 210 to server 220. For example, network 215 mayinclude one or more of a fiber optics network, a passive opticalnetwork, a cable network, an Internet network, a satellite network, awireless LAN, a Global System for Mobile Communication, a PersonalCommunication Service, a Personal Area Network, Wireless ApplicationProtocol, Multimedia Messaging Service, Enhanced Messaging Service,Short Message Service, Time Division Multiplexing based systems, CodeDivision Multiple Access based systems, D-AMPS, Wi-Fi, Fixed WirelessData, IEEE 802.11b, 802.15.1, 802.11n and 802.11g, Bluetooth, NFC, RFID,Wi-Fi, and/or the like.

In addition, network 215 may include, without limitation, telephonelines, fiber optics, IEEE Ethernet 902.3, a wide area network, awireless personal area network, a LAN, or a global network such as theInternet. In addition, network 215 may support an Internet network, awireless communication network, a cellular network, or the like, or anycombination thereof. Network 215 may further include one network, or anynumber of the exemplary types of networks mentioned above, operating asa stand-alone network or in cooperation with each other. Network 215 mayutilize one or more protocols of one or more network elements to whichthey are communicatively coupled. Network 215 may translate to or fromother protocols to one or more protocols of network devices. Althoughnetwork 215 is depicted as a single network, it should be appreciatedthat according to one or more examples, network 215 may comprise aplurality of interconnected networks, such as, for example, theInternet, a service provider's network, a cable television network,corporate networks, such as credit card association networks, and homenetworks.

In some examples, one or more transmitting devices 205 and one or morereceiving devices 210 may be configured to communicate and transmit andreceive data between each other without passing through network 215. Forexample, communication between the one or more transmitting devices 205and the one or more receiving devices 210 may occur via at least one ofNFC, Bluetooth, RFID, Wi-Fi, and/or the like.

At block 225, when the transmitting device 205 is preparing to processthe sensitive data with symmetric cryptographic operation, the sendermay update a counter. In addition, the transmitting device 205 mayselect an appropriate symmetric cryptographic algorithm, which mayinclude at least one of a symmetric encryption algorithm, HMACalgorithm, and a CMAC algorithm. In some examples, the symmetricalgorithm used to process the diversification value may comprise anysymmetric cryptographic algorithm used as needed to generate the desiredlength diversified symmetric key. Non-limiting examples of the symmetricalgorithm may include a symmetric encryption algorithm such as 3DES orAES128; a symmetric HMAC algorithm, such as HMAC-SHA-256; and asymmetric CMAC algorithm such as AES-CMAC. It is understood that if theoutput of the selected symmetric algorithm does not generate asufficiently long key, techniques such as processing multiple iterationsof the symmetric algorithm with different input data and the same masterkey may produce multiple outputs which may be combined as needed toproduce sufficient length keys.

At block 230, the transmitting device 205 may take the selectedcryptographic algorithm, and using the master symmetric key, process thecounter value. For example, the sender may select a symmetric encryptionalgorithm, and use a counter which updates with every conversationbetween the transmitting device 205 and the receiving device 210. Thetransmitting device 205 may then encrypt the counter value with theselected symmetric encryption algorithm using the master symmetric key,creating a diversified symmetric key.

In some examples, the counter value may not be encrypted. In theseexamples, the counter value may be transmitted between the transmittingdevice 205 and the receiving device 210 at block 230 without encryption.

At block 235, the diversified symmetric key may be used to process thesensitive data before transmitting the result to the receiving device210. For example, the transmitting device 205 may encrypt the sensitivedata using a symmetric encryption algorithm using the diversifiedsymmetric key, with the output comprising the protected encrypted data.The transmitting device 205 may then transmit the protected encrypteddata, along with the counter value, to the receiving device 210 forprocessing.

At block 240, the receiving device 210 may first take the counter valueand then perform the same symmetric encryption using the counter valueas input to the encryption, and the master symmetric key as the key forthe encryption. The output of the encryption may be the same diversifiedsymmetric key value that was created by the sender.

At block 245, the receiving device 210 may then take the protectedencrypted data and using a symmetric decryption algorithm along with thediversified symmetric key, decrypt the protected encrypted data.

At block 250, as a result of the decrypting the protected encrypteddata, the original sensitive data may be revealed.

The next time sensitive data needs to be sent from the sender to therecipient via respective transmitting device 205 and receiving device210, a different counter value may be selected producing a differentdiversified symmetric key. By processing the counter value with themaster symmetric key and same symmetric cryptographic algorithm, boththe transmitting device 205 and receiving device 210 may independentlyproduce the same diversified symmetric key. This diversified symmetrickey, not the master symmetric key, is used to protect the sensitivedata.

As explained above, both the transmitting device 205 and receivingdevice 210 each initially possess the shared master symmetric key. Theshared master symmetric key is not used to encrypt the originalsensitive data. Because the diversified symmetric key is independentlycreated by both the transmitting device 205 and receiving device 210, itis never transmitted between the two parties. Thus, an attacker cannotintercept the diversified symmetric key and the attacker never sees anydata which was processed with the master symmetric key. Only the countervalue is processed with the master symmetric key, not the sensitivedata. As a result, reduced side-channel data about the master symmetrickey is revealed. Moreover, the operation of the transmitting device 205and the receiving device 210 may be governed by symmetric requirementsfor how often to create a new diversification value, and therefore a newdiversified symmetric key. In an embodiment, a new diversification valueand therefore a new diversified symmetric key may be created for everyexchange between the transmitting device 205 and receiving device 210.

In some examples, the key diversification value may comprise the countervalue. Other non-limiting examples of the key diversification valueinclude: a random nonce generated each time a new diversified key isneeded, the random nonce sent from the transmitting device 205 to thereceiving device 210; the full value of a counter value sent from thetransmitting device 205 and the receiving device 210; a portion of acounter value sent from the transmitting device 205 and the receivingdevice 210; a counter independently maintained by the transmittingdevice 205 and the receiving device 210 but not sent between the twodevices; a one-time-passcode exchanged between the transmitting device205 and the receiving device 210; and a cryptographic hash of thesensitive data. In some examples, one or more portions of the keydiversification value may be used by the parties to create multiplediversified keys. For example, a counter may be used as the keydiversification value. Further, a combination of one or more of theexemplary key diversification values described above may be used.

In another example, a portion of the counter may be used as the keydiversification value. If multiple master key values are shared betweenthe parties, the multiple diversified key values may be obtained by thesystems and processes described herein. A new diversification value, andtherefore a new diversified symmetric key, may be created as often asneeded. In the most secure case, a new diversification value may becreated for each exchange of sensitive data between the transmittingdevice 205 and the receiving device 210. In effect, this may create aone-time use key, such as a single-use session key.

FIG. 3 illustrates a system 300 using a contactless card. System 300 mayinclude a contactless card 305, one or more client devices 310, network315, servers 320, 325, one or more hardware security modules 330, and adatabase 335. Although FIG. 3 illustrates single instances of thecomponents, system 300 may include any number of components.

System 300 may include one or more contactless cards 305, which arefurther explained below with respect to FIGS. 5A-5B. In some examples,contactless card 305 may be in wireless communication, for example NFCcommunication, with client device 310. For example, contactless card 305may comprise one or more chips, such as a radio frequency identificationchip, configured to communication via NFC or other short-rangeprotocols. In other embodiments, contactless card 305 may communicatewith client device 310 through other means including, but not limitedto, Bluetooth, satellite, Wi-Fi, wired communications, and/or anycombination of wireless and wired connections. According to someembodiments, contactless card 305 may be configured to communicate withcard reader 313 of client device 310 through NFC when contactless card305 is within range of card reader 313. In other examples,communications with contactless card 305 may be accomplished through aphysical interface, e.g., a universal serial bus interface or a cardswipe interface.

System 300 may include client device 310, which may be a network-enabledcomputer. As referred to herein, a network-enabled computer may include,but is not limited to: e.g., a computer device, or communications deviceincluding, e.g., a server, a network appliance, a personal computer, aworkstation, a mobile device, a phone, a handheld PC, a personal digitalassistant, a thin client, a fat client, an Internet browser, or otherdevice. One or more client devices 310 also may be a mobile device; forexample, a mobile device may include an iPhone, iPod, iPad from Apple®or any other mobile device running Apple's iOS® operating system, anydevice running Microsoft's Windows® Mobile operating system, any devicerunning Google's Android® operating system, and/or any other smartphoneor like wearable mobile device. In some examples, the client device 310may be the same as, or similar to, a client device 110 as described withreference to FIG. 1A or FIG. 1B.

Client device 310 may be in communication with one or more servers 320and 325 via one or more networks 315. Client device 310 may transmit,for example from an application 311 executing on client device 310, oneor more requests to one or more servers 320 and 325. The one or morerequests may be associated with retrieving data from one or more servers320 and 325. Servers 320 and 325 may receive the one or more requestsfrom client device 310. Based on the one or more requests from clientdevice 310, one or more servers 320 and 325 may be configured toretrieve the requested data from one or more databases 335. Based onreceipt of the requested data from the one or more databases 335, one ormore servers 320 and 325 may be configured to transmit the received datato client device 310, the received data being responsive to one or morerequests.

System 300 may include one or more hardware security modules (HSM) 330.For example, one or more HSMs 330 may be configured to perform one ormore cryptographic operations as disclosed herein. In some examples, oneor more HSMs 330 may be configured as special purpose security devicesthat are configured to perform the one or more cryptographic operations.The HSMs 330 may be configured such that keys are never revealed outsidethe HSM 330, and instead are maintained within the HSM 330. For example,one or more HSMs 330 may be configured to perform at least one of keyderivations, decryption, and MAC operations. The one or more HSMs 330may be contained within, or may be in data communication with, servers320 and 325.

System 300 may include one or more networks 315. In some examples,network 315 may be one or more of a wireless network, a wired network orany combination of wireless network and wired network, and may beconfigured to connect client device 315 to server 320 and 325. Forexample, network 315 may include one or more of a fiber optics network,a passive optical network, a cable network, a cellular network, anInternet network, a satellite network, a wireless LAN, a Global Systemfor Mobile Communication, a Personal Communication Service, a PersonalArea Network, Wireless Application Protocol, Multimedia MessagingService, Enhanced Messaging Service, Short Message Service, TimeDivision Multiplexing based systems, Code Division Multiple Access basedsystems, D-AMPS, Wi-Fi, Fixed Wireless Data, IEEE 802.11b, 802.15.1,802.11n and 802.11g, Bluetooth, NFC, RFID, Wi-Fi, and/or any combinationof networks thereof. As a non-limiting example, communications fromcontactless card 305 and client device 310 may comprise NFCcommunication, cellular network between client device 310 and a carrier,and Internet between the carrier and a back-end.

In addition, network 315 may include, without limitation, telephonelines, fiber optics, IEEE Ethernet 902.3, a wide area network, awireless personal area network, a local area network, or a globalnetwork such as the Internet. In addition, network 315 may support anInternet network, a wireless communication network, a cellular network,or the like, or any combination thereof. Network 315 may further includeone network, or any number of the exemplary types of networks mentionedabove, operating as a stand-alone network or in cooperation with eachother. Network 315 may utilize one or more protocols of one or morenetwork elements to which they are communicatively coupled. Network 315may translate to or from other protocols to one or more protocols ofnetwork devices. Although network 315 is depicted as a single network,it should be appreciated that according to one or more examples, network315 may comprise a plurality of interconnected networks, such as, forexample, the Internet, a service provider's network, a cable televisionnetwork, corporate networks, such as credit card association networks,and home networks.

In various examples according to the present disclosure, client device310 of system 300 may execute one or more applications 311, and includeone or more processors 312, and one or more card readers 313. Forexample, one or more applications 311, such as software applications,may be configured to enable, for example, network communications withone or more components of system 300 and transmit and/or receive data.It is understood that although only single instances of the componentsof client device 310 are illustrated in FIG. 3, any number of devices310 may be used. Card reader 313 may be configured to read from and/orcommunicate with contactless card 305. In conjunction with the one ormore applications 311, card reader 313 may communicate with contactlesscard 305.

The application 311 of any of client device 310 may communicate with thecontactless card 305 using short-range wireless communication (e.g.,NFC). The application 311 may be configured to interface with a cardreader 313 of client device 310 configured to communicate with acontactless card 305. As should be noted, those skilled in the art wouldunderstand that a distance of less than twenty centimeters is consistentwith NFC range.

In some embodiments, the application 311 communicates through anassociated reader (e.g., card reader 313) with the contactless card 305.

In some embodiments, card activation may occur without userauthentication. For example, a contactless card 305 may communicate withthe application 311 through the card reader 313 of the client device 310through NFC. The communication (e.g., a tap of the card proximate thecard reader 313 of the client device 310) allows the application 311 toread the data associated with the card and perform an activation. Insome cases, the tap may activate or launch application 311 and theninitiate one or more actions or communications with an account server325 to activate the card for subsequent use. In some cases, if theapplication 311 is not installed on client device 310, a tap of the cardagainst the card reader 313 may initiate a download of the application311 (e.g., navigation to an application download page). Subsequent toinstallation, a tap of the card may activate or launch the application311, and then initiate (e.g., via the application or other back-endcommunication) activation of the card. After activation, the card may beused in various transactions including commercial transactions.

According to some embodiments, the contactless card 305 may include avirtual payment card. In those embodiments, the application 311 mayretrieve information associated with the contactless card 305 byaccessing a digital wallet implemented on the client device 310, whereinthe digital wallet includes the virtual payment card. In some examples,virtual payment card data may include one or more static or dynamicallygenerated virtual card numbers.

Server 320 may comprise a web server in communication with database 335.Server 325 may comprise an account server. In some examples, server 320may be configured to validate one or more credentials from contactlesscard 305 and/or client device 310 by comparison with one or morecredentials in database 335. Server 325 may be configured to authorizeone or more requests, such as payment and transaction, from contactlesscard 305 and/or client device 310.

FIG. 4 illustrates a method 400 of key diversification according to anexample of the present disclosure. Method 400 may include a transmittingdevice and receiving device similar to transmitting device 205 andreceiving device 210 referenced in FIG. 2.

For example, a sender and recipient may desire to exchange data (e.g.,original sensitive data) via a transmitting device and a receivingdevice. As explained above, although these two parties may be included,it is understood that one or more transmitting devices and one or morereceiving devices may be involved so long as each party shares the sameshared secret symmetric key. In some examples, the transmitting deviceand receiving device may be provisioned with the same master symmetrickey. Further, it is understood that any party or device holding the samesecret symmetric key may perform the functions of the transmittingdevice and similarly any party holding the same secret symmetric key mayperform the functions of the receiving device. In some examples, thesymmetric key may comprise the shared secret symmetric key which is keptsecret from all parties other than the transmitting device and thereceiving device involved in exchanging the secure data. It is furtherunderstood that both the transmitting device and receiving device may beprovided with the same master symmetric key, and further that part ofthe data exchanged between the transmitting device and receiving devicecomprises at least a portion of data which may be referred to as thecounter value. The counter value may comprise a number that changes eachtime data is exchanged between the transmitting device and the receivingdevice.

At block 410, a transmitting device and receiving device may beprovisioned with the same master key, such as the same master symmetrickey. When the transmitting device is preparing to process the sensitivedata with symmetric cryptographic operation, the sender may update acounter. In addition, the transmitting device may select an appropriatesymmetric cryptographic algorithm, which may include at least one of asymmetric encryption algorithm, HMAC algorithm, and a CMAC algorithm. Insome examples, the symmetric algorithm used to process thediversification value may comprise any symmetric cryptographic algorithmused as needed to generate the desired length diversified symmetric key.Non-limiting examples of the symmetric algorithm may include a symmetricencryption algorithm such as 3DES or AES128; a symmetric HMAC algorithm,such as HMAC-SHA-256; and a symmetric CMAC algorithm, such as AES-CMAC.It is understood that if the output of the selected symmetric algorithmdoes not generate a sufficiently long key, techniques such as processingmultiple iterations of the symmetric algorithm with different input dataand the same master key may produce multiple outputs which may becombined as needed to produce sufficient length keys.

The transmitting device may take the selected cryptographic algorithm,and using the master symmetric key, process the counter value. Forexample, the sender may select a symmetric encryption algorithm, and usea counter which updates with every conversation between the transmittingdevice and the receiving device.

At block 420, the transmitting device may then encrypt the counter valuewith the selected symmetric encryption algorithm using the mastersymmetric key, creating a diversified symmetric key. The diversifiedsymmetric key may be used to process the sensitive data beforetransmitting the result to the receiving device. For example, thetransmitting device may encrypt the sensitive data using a symmetricencryption algorithm using the diversified symmetric key, with theoutput comprising the protected encrypted data. The transmitting devicemay then transmit the protected encrypted data, along with the countervalue, to the receiving device for processing. In some examples, acryptographic operation other than encryption may be performed, and aplurality of cryptographic operations may be performed using thediversified symmetric keys prior to transmittal of the protected data.

In some examples, the counter value may not be encrypted. In theseexamples, the counter value may be transmitted between the transmittingdevice and the receiving device at block 420 without encryption.

At block 430, sensitive data may be protected using one or morecryptographic algorithms and the diversified keys. The diversifiedsession keys, which may be created by the key diversification which usesthe counter, may be used with one or more cryptographic algorithms toprotect the sensitive data. For example, data may be processed by a MACusing a first diversified session key, and the resulting output may beencrypted using the second diversified session key producing theprotected data.

At block 440, the receiving device may perform the same symmetricencryptions using the counter value as input to the encryptions and themaster symmetric keys as the keys for the encryption. The output of theencryptions may be the same diversified symmetric key values that werecreated by the sender. For example, the receiving device mayindependently create its own copies of the first and second diversifiedsession keys using the counter. Then, the receiving device may decryptthe protected data using the second diversified session key to revealthe output of the MAC created by the transmitting device. The receivingdevice may then process the resultant data through the MAC operationusing the first diversified session key.

At block 450, the receiving device may use the diversified keys with oneor more cryptographic algorithms to validate the protected data.

At block 460, the original data may be validated. If the output of theMAC operation (via the receiving device using the first diversifiedsession key) matches the MAC output revealed by decryption, then thedata may be deemed valid.

The next time sensitive data needs to be sent from the transmittingdevice to the receiving device, a different counter value may beselected, which produces a different diversified symmetric key. Byprocessing the counter value with the master symmetric key and samesymmetric cryptographic algorithm, both the transmitting device andreceiving device may independently produce the same diversifiedsymmetric key. This diversified symmetric key, not the master symmetrickey, is used to protect the sensitive data.

As explained above, both the transmitting device and receiving deviceeach initially possess the shared master symmetric key. The sharedmaster symmetric key is not used to encrypt the original sensitive data.Because the diversified symmetric key is independently created by boththe transmitting device and receiving device, it is never transmittedbetween the two parties. Thus, an attacker cannot intercept thediversified symmetric key and the attacker never sees any data which wasprocessed with the master symmetric key. Only the small counter value isprocessed with the master symmetric key, not the sensitive data. As aresult, reduced side-channel data about the master symmetric key isrevealed. Moreover, the sender and the recipient may agree, for exampleby prior arrangement or other means, how often to create a newdiversification value, and therefore a new diversified symmetric key. Inan embodiment, a new diversification value and therefore a newdiversified symmetric key may be created for every exchange between thetransmitting device and receiving device.

In some examples, the key diversification value may comprise the countervalue. Other non-limiting examples of the key diversification valueinclude: a random nonce generated each time a new diversified key isneeded, the random nonce sent from the transmitting device to thereceiving device; the full value of a counter value sent from thetransmitting device and the receiving device; a portion of a countervalue sent from the transmitting device and the receiving device; acounter independently maintained by the transmitting device and thereceiving device but not sent between the two; a one-time-passcodeexchanged between the transmitting device and the receiving device;cryptographic hash of the sensitive data. In some examples, one or moreportions of the key diversification value may be used by the parties tocreate multiple diversified keys. For example, a counter may be used asthe key diversification value.

In another example, a portion of the counter may be used as the keydiversification value. If multiple master key values are shared betweenthe parties, the multiple diversified key values may be obtained by thesystem and processes described herein. A new diversification value, andtherefore a new diversified symmetric key, may be created as often asneeded. In the most secure case, a new diversification value may becreated for each exchange of sensitive data between the transmittingdevice and the receiving device. In effect, this may create a one-timeuse key, such as a single session key.

In other examples, such as to limit the number of times of use of themaster symmetric key, it may be agreed upon by the sender oftransmitting device and recipient of the receiving device that a newdiversification value, and therefore a new diversified symmetric key,will happen only periodically. In one example, this may be after apre-determined number of uses, such as every 10 transmissions betweenthe transmitting device and the receiving device. In another example,this may be after a certain time period, a certain time period after atransmission, or on a periodic basis (e.g., daily at a designated time;weekly at a designated time on a designated day). In another example,this may be every time the receiving device signals to the transmittingdevice that it desires to change the key on the next communication. Thismay be controlled on policy and may be varied due to, for example, thecurrent risk level perceived by the recipient of the receiving device.

FIG. 5A illustrates one or more contactless cards 500, which maycomprise a payment card, such as a credit card, debit card, or giftcard, issued by a service provider 505 displayed on the front or back ofthe card 500. In some examples, the contactless card 500 is not relatedto a payment card, and may comprise, without limitation, anidentification card. In some examples, the payment card may comprise adual interface contactless payment card. The contactless card 500 maycomprise a substrate 510, which may include a single layer or one ormore laminated layers composed of plastics, metals, and other materials.Exemplary substrate materials include polyvinyl chloride, polyvinylchloride acetate, acrylonitrile butadiene styrene, polycarbonate,polyesters, anodized titanium, palladium, gold, carbon, paper, andbiodegradable materials. In some examples, the contactless card 500 mayhave physical characteristics compliant with the ID-1 format of theISO/IEC 7810 standard, and the contactless card may otherwise becompliant with the ISO/IEC 14443 standard. However, it is understoodthat the contactless card 500 according to the present disclosure mayhave different characteristics, and the present disclosure does notrequire a contactless card to be implemented in a payment card.

The contactless card 500 may also include identification information 515displayed on the front and/or back of the card, and a contact pad 520.The contact pad 520 may be configured to establish contact with anothercommunication device, such as a user device, smart phone, laptop,desktop, or tablet computer. The contactless card 500 may also includeprocessing circuitry, antenna and other components not shown in FIG. 5A.These components may be located behind the contact pad 520 or elsewhereon the substrate 510. The contactless card 500 may also include amagnetic strip or tape, which may be located on the back of the card(not shown in FIG. 5A).

As illustrated in FIG. 5B, the contact pad 520 of FIG. 5A may includeprocessing circuitry 525 for storing and processing information,including a microprocessor 530 and a memory 535. It is understood thatthe processing circuitry 525 may contain additional components,including processors, memories, error and parity/CRC checkers, dataencoders, anticollision algorithms, controllers, command decoders,security primitives and tamperproofing hardware, as necessary to performthe functions described herein.

The memory 535 may be a read-only memory, write-once read-multiplememory or read/write memory, e.g., RAM, ROM, and EEPROM, and thecontactless card 500 may include one or more of these memories. Aread-only memory may be factory programmable as read-only or one-timeprogrammable. One-time programmability provides the opportunity to writeonce then read many times. A write once/read-multiple memory may beprogrammed at a point in time after the memory chip has left thefactory. Once the memory is programmed, it may not be rewritten, but itmay be read many times. A read/write memory may be programmed andre-programmed many times after leaving the factory. It may also be readmany times.

The memory 535 may be configured to store one or more applets 540, oneor more counters 545, and a customer identifier 550. The one or moreapplets 540 may comprise one or more software applications configured toexecute on one or more contactless cards, such as Java Card applet.However, it is understood that applets 540 are not limited to Java Cardapplets, and instead may be any software application operable oncontactless cards or other devices having limited memory. The one ormore counters 545 may comprise a numeric counter sufficient to store aninteger. The customer identifier 550 may comprise a unique alphanumericidentifier assigned to a user of the contactless card 500, and theidentifier may distinguish the user of the contactless card from othercontactless card users. In some examples, the customer identifier 550may identify both a customer and an account assigned to that customerand may further identify the contactless card associated with thecustomer's account.

The processor and memory elements of the foregoing exemplary embodimentsare described with reference to the contact pad, but the presentdisclosure is not limited thereto. It is understood that these elementsmay be implemented outside of the pad 520 or entirely separate from it,or as further elements in addition to processor 530 and memory 535elements located within the contact pad 520.

In some examples, the contactless card 500 may comprise one or moreantennas 555. The one or more antennas 555 may be placed within thecontactless card 500 and around the processing circuitry 525 of thecontact pad 520. For example, the one or more antennas 555 may beintegral with the processing circuitry 525 and the one or more antennas555 may be used with an external booster coil. As another example, theone or more antennas 555 may be external to the contact pad 520 and theprocessing circuitry 525.

In an embodiment, the coil of contactless card 500 may act as thesecondary of an air core transformer. The terminal may communicate withthe contactless card 500 by cutting power or amplitude modulation. Thecontactless card 500 may infer the data transmitted from the terminalusing the gaps in the contactless card's power connection, which may befunctionally maintained through one or more capacitors. The contactlesscard 500 may communicate back by switching a load on the contactlesscard's coil or load modulation. Load modulation may be detected in theterminal's coil through interference.

As explained above, the contactless cards 500 may be built on a softwareplatform operable on smart cards or other devices having limited memory,such as JavaCard, and one or more or more applications or applets may besecurely executed. Applets may be added to contactless cards to providea one-time password (OTP) for multifactor authentication (MFA) invarious mobile application-based use cases. Applets may be configured torespond to one or more requests, such as near field data exchangerequests, from a reader, such as a mobile NFC reader, and produce anNDEF message that comprises a cryptographically secure OTP encoded as anNDEF text tag.

FIG. 6 illustrates NDEF short-record layout (SR=1) 600 according to anexample embodiment. One or more applets may be configured to encode theOTP as an NDEF type 4 well known type text tag. In some examples, NDEFmessages may comprise one or more records. The applets may be configuredto add one or more static tag records in addition to the OTP record.Exemplary tags include, without limitation, Tag type: well known type,text, encoding English (en); Applet ID: D2760000850101; Capabilities:read-only access; Encoding: the authentication message may be encoded asASCII hex; type-length-value (TLV) data may be provided as apersonalization parameter that may be used to generate the NDEF message.In an embodiment, the authentication template may comprise the firstrecord, with a well-known index for providing the actual dynamicauthentication data.

FIG. 7 illustrates a message 710 and a message format 720 according toan example embodiment. In one example, if additional tags are to beadded, the first byte may change to indicate message begin, but not end,and a subsequent record may be added. Because ID length is zero, IDlength field and ID are omitted from the record. An example message mayinclude: UDK AUT key; Derived AUT session key (using 0x00000050);Version 1.0; pATC=0x00000050; RND=4838FB7DC171B89E; MAC=<eight computedbytes>.

In some examples, data may be stored in the contactless card atpersonalization time by implementing STORE DATA (E2) under securechannel protocol 2. One or more values may be read by thepersonalization bureau from the EMBOSS files (in a section designated bythe Applet ID) and one or more store data commands may be transmitted tothe contactless card after authentication and secure channelestablishment.

pUID may comprise a 16-digit BCD encoded number. In some examples, pUIDmay comprise 14 digits.

Length Item (bytes) Encrypted? Notes pUID 8 No AutKey 16 Yes 3DES Keyfor Deriving MAC session keys AutKCV 3 No Key Check Value DEKKey 16 Yes3DES Key for deriving Encryption session key DEKKCV 3 No Key Check ValueCard Shared 4 bytes No 4 Byte True Random number Random (pre-generated)NTLV X Bytes No TLV data for NDEF message

In some examples, the one or more applets may be configured to maintainits personalization state to allow personalization only if unlocked andauthenticated. Other states may comprise standard statespre-personalization. On entering into a terminated state, the one ormore applets may be configured to remove personalization data. In theterminated state, the one or more applets may be configured to stopresponding to all application protocol data unit (APDU) requests.

The one or more applets may be configured to maintain an applet version(2 bytes), which may be used in the authentication message. In someexamples, this may be interpreted as most significant byte majorversion, least significant byte minor version. The rules for each of theversions are configured to interpret the authentication message: Forexample, regarding the major version, this may include that each majorversion comprise a specific authentication message layout and specificalgorithms. For the minor version, this may include no changes to theauthentication message or cryptographic algorithms, and changes tostatic tag content, in addition to bug fixes, security hardening, etc.

In some examples, the one or more applets may be configured to emulatean RFID tag. The RFID tag may include one or more polymorphic tags. Insome examples, each time the tag is read, different cryptographic datais presented that may indicate the authenticity of the contactless card.Based on the one or more applications, an NFC read of the tag may beprocessed, the token may be transmitted to a server, such as a backendserver, and the token may be validated at the server.

In some examples, the contactless card and server may include certaindata such that the card may be properly identified. The contactless cardmay comprise one or more unique identifiers. Each time a read operationtakes place, a counter may be configured to update. In some examples,each time the card is read, it is transmitted to the server forvalidation and determines whether the counter is equal (as part of thevalidation).

The one or more counters may be configured to prevent a replay attack.For example, if a cryptogram has been obtained and replayed, thatcryptogram is immediately rejected if the counter has been read or usedor otherwise passed over. If the counter has not been used, it may bereplayed. In some examples, the counter that is updated on the card isdifferent from the counter that is updated for transactions. In someexamples, the contactless card may comprise a first applet, which may bea transaction applet, and a second applet. Each applet may comprise acounter.

In some examples, the counter may get out of sync between thecontactless card and one or more servers. For example, the contactlesscard may be activated causing the counter to be updated and a newcommunication to be generated by the contactless card, but thecommunication may be not be transmitted for processing at the one ormore servers. This may cause the counter of the contactless card and thecounter maintained at the one or more servers to get out of sync. Thismay occur unintentionally including, for example, where a card is storedadjacent to a device (e.g., carried in a pocket with a device) and wherethe contactless card is read at an angle may include the card beingmisaligned or not positioned such that the contactless card is poweredup an the NFC field but is not readable. If the contactless card ispositioned adjacent to a device, the device's NFC field may be turned onto power the contactless card causing the counter therein to be updated,but no application on the device receives the communication.

To keep the counter in sync, an application, such as a backgroundapplication, may be executed that would be configured to detect when themobile device wakes up and synchronize with the one or more serversindicating that a read that occurred due to detection to then move thecounter forward. Since the counters of the contactless card and the oneor more servers may get out of sync, the one or more servers may beconfigured to allow the counter of the contactless card to be updated athreshold or predetermined number of times before it is read by the oneor more servers and still be considered valid. For example, if thecounter is configured to increment (or decrement) by one for eachoccurrence indicating activation of the contactless card, the one ormore servers may allow any counter value it reads from the contactlesscard as valid, or any counter value within a threshold range (e.g., from1 to 10). Moreover, the one or more servers may be configured to requesta gesture associated with the contactless card, such as a user tap, ifit reads a counter value which has advanced beyond 10, but below anotherthreshold range value (such as 1000). From the user tap, if the countervalue is within a desired or acceptance range, authentication succeeds.

FIG. 8 is a flowchart illustrating key operations 800 according to anexample embodiment. As illustrated in FIG. 8, at block 810, two bankidentifier number (BIN) level master keys may be used in conjunctionwith the account identifier and card sequence number to produce twounique derived keys (UDKs) per card. In some examples, a bank identifiernumber may comprise one number or a combination of one or more numbers,such as an account number or an unpredictable number provided by one ormore servers, may be used for session key generation and/ordiversification. The UDKs (AUTKEY and ENCKEY) may be stored on the cardduring the personalization process.

At block 820, the counter may be used as the diversification data, sinceit changes with each use and provides a different session key each time,as opposed to the master key derivation in which one unique set of keysper card is produced. In some examples, it is preferable to use the4-byte method for both operations. Accordingly, at block 820, twosession keys may be created for each transaction from the UDKs, i.e.,one session key from AUTKEY and one session key from ENCKEY. In thecard, for the MAC key (i.e., the session key created from AUTKEY), thelow order of two bytes of the OTP counter may be used fordiversification. For the ENC key (i.e., the session key created fromENCKEY), the full length of the OTP counter may be used for the ENC key.

At block 830, the MAC key may be used for preparing the MAC cryptogram,and the ENC key may be used to encrypt the cryptogram. For example, theMAC session key may be used to prepare the cryptogram, and the resultmay be encrypted with the ENC key before it is transmitted to the one ormore servers.

At block 840, verification and processing of the MAC is simplifiedbecause 2-byte diversification is directly supported in the MACauthentication functions of payment HSMs. Decryption of the cryptogramis performed prior to verification of the MAC. The session keys areindependently derived at the one or more servers, resulting in a firstsession key (the ENC session key) and a second session key (the MACsession key). The second derived key (i.e., the ENC session key) may beused to decrypt the data, and the first derived key (i.e., the MACsession key) may be used to verify the decrypted data.

For the contactless card, a different unique identifier is derived whichmay be related to the application primary account number (PAN) and PANsequence number, which is encoded in the card. The key diversificationmay be configured to receive the identifier as input with the master keysuch that one or more keys may be created for each contactless card. Insome examples, these diversified keys may comprise a first key and asecond key. The first key may include an authentication master key (CardCryptogram Generation/Authentication Key—Card-Key-Auth), and may befurther diversified to create a MAC session key used when generating andverifying a MAC cryptogram. The second key may comprise an encryptionmaster key (Card Data Encryption Key—Card-Key-DEK), and may be furtherdiversified to create an ENC session key used when encrypting anddecrypting enciphered data. In some examples, the first and the secondkeys may be created by diversifying the issuer master keys by combiningthem with the card's unique ID number (pUID) and the PAN sequence number(PSN) of a payment applet. The pUID may comprise a 16-digit numericalvalue. As explained above, pUID may comprise a 16 digit BCD encodednumber. In some examples, pUID may comprise a 14-digit numerical value.

In some examples, since the EMV session key derivation method may wrapat 2{circumflex over ( )}16 uses, the counter such as the full 32-bitcounter may be added to the initialization arrays of the diversificationmethod.

In other examples, such as credit cards, a number, such as an accountnumber or an unpredictable number provided by one or more servers, maybe used for session key generation and/or diversification.

FIG. 9 illustrates a diagram of a system 900 configured to implement oneor more embodiments of the present disclosure. As explained below,during the contactless card creation process, two cryptographic keys maybe assigned uniquely for each card. The cryptographic keys may comprisesymmetric keys which may be used in both encryption and decryption ofdata. Triple DES (3DES) algorithm may be used by EMV and it isimplemented by hardware in the contactless card. By using a keydiversification process, one or more keys may be derived from a masterkey based upon uniquely identifiable information for each entity thatrequires a key.

Regarding master key management, two issuer master keys 905, 910 may berequired for each part of the portfolio on which the one or more appletsis issued. For example, the first master key 905 may comprise an IssuerCryptogram Generation/Authentication Key (Iss-Key-Auth) and the secondmaster key 910 may comprise an Issuer Data Encryption Key (Iss-Key-DEK).As further explained herein, two issuer master keys 905, 910 arediversified into card master keys 925, 930, which are unique for eachcard. In some examples, a network profile record ID (pNPR) 915 andderivation key index (pDKI) 920, as back office data, may be used toidentify which Issuer Master Keys 905, 910 to use in the cryptographicprocesses for authentication. The system performing the authenticationmay be configured to retrieve values of pNPR 915 and pDKI 920 for acontactless card at the time of authentication.

In some examples, to increase the security of the solution, a sessionkey may be derived (such as a unique key per session) but rather thanusing the master key, the unique card-derived keys and the counter maybe used as diversification data, as explained above. For example, eachtime the card is used in operation, a different key may be used forcreating the message authentication code (MAC) and for performing theencryption. Regarding session key generation, the keys used to generatethe cryptogram and encipher the data in the one or more applets maycomprise session keys based on the card unique keys (Card-Key-Auth 925and Card-Key-Dek 930). The session keys (Aut-Session-Key 935 andDEK-Session-Key 940) may be generated by the one or more applets andderived by using the application transaction counter (pATC) 945 with oneor more algorithms. To fit data into the one or more algorithms, onlythe 2 low order bytes of the 4-byte pATC 945 is used. In some examples,the four byte session key derivation method may comprise: F1:=PATC(lower2 bytes)∥‘F0’∥PATC (four bytes) F1:=PATC(lower 2 bytes)∥‘0F’∥‘00’∥PATC(four bytes) SK:={(ALG (MK) [F1])∥ALG (MK) [F2]}, where ALG may include3DES ECB and MK may include the card unique derived master key.

As described herein, one or more MAC session keys may be derived usingthe lower two bytes of pATC 945 counter. At each tap of the contactlesscard, pATC 945 is configured to be updated, and the card master keysCard-Key-AUTH 925 and Card-Key-DEK 930 are further diversified into thesession keys Aut-Session-Key 935 and DEK-Session-KEY 940. pATC 945 maybe initialized to zero at personalization or applet initialization time.In some examples, the pATC counter 945 may be initialized at or beforepersonalization, and may be configured to increment by one at each NDEFread.

Further, the update for each card may be unique, and assigned either bypersonalization, or algorithmically assigned by pUID or otheridentifying information. For example, odd numbered cards may incrementor decrement by 2 and even numbered cards may increment or decrement by5. In some examples, the update may also vary in sequential reads, suchthat one card may increment in sequence by 1, 3, 5, 2, 2, . . .repeating. The specific sequence or algorithmic sequence may be definedat personalization time, or from one or more processes derived fromunique identifiers. This can make it harder for a replay attacker togeneralize from a small number of card instances.

The authentication message may be delivered as the content of a textNDEF record in hexadecimal ASCII format. In some examples, only theauthentication data and an 8-byte random number followed by MAC of theauthentication data may be included. In some examples, the random numbermay precede cryptogram A and may be one block long. In other examples,there may be no restriction on the length of the random number. Infurther examples, the total data (i.e., the random number plus thecryptogram) may be a multiple of the block size. In these examples, anadditional 8-byte block may be added to match the block produced by theMAC algorithm. As another example, if the algorithms employed used16-byte blocks, even multiples of that block size may be used, or theoutput may be automatically, or manually, padded to a multiple of thatblock size.

The MAC may be performed by a function key (AUT-Session-Key) 935. Thedata specified in cryptogram may be processed with javacard.signaturemethod: ALG_DES_MAC8_ISO9797_1_M2_ALG3 to correlate to EMV ARQCverification methods. The key used for this computation may comprise asession key AUT-Session-Key 935, as explained above. As explained above,the low order two bytes of the counter may be used to diversify for theone or more MAC session keys. As explained below, AUT-Session-Key 935may be used to MAC data 950, and the resulting data or cryptogram A 955and random number RND may be encrypted using DEK-Session-Key 940 tocreate cryptogram B or output 960 sent in the message.

In some examples, one or more HSM commands may be processed fordecrypting such that the final 16 (binary, 32 hex) bytes may comprise a3DES symmetric encrypting using CBC mode with a zero IV of the randomnumber followed by MAC authentication data. The key used for thisencryption may comprise a session key DEK-Session-Key 940 derived fromthe Card-Key-DEK 930. In this case, the ATC value for the session keyderivation is the least significant byte of the counter pATC 945.

The format below represents a binary version example embodiment.Further, in some examples, the first byte may be set to ASCII ‘A’.

Another exemplary format is shown below. In this example, the tag may beencoded in hexadecimal format.

The UID field of the received message may be extracted to derive, frommaster keys Iss-Key-AUTH 905 and Iss-Key-DEK 910, the card master keys(Card-Key-Auth 925 and Card-Key-DEK 930) for that particular card. Usingthe card master keys (Card-Key-Auth 925 and Card-Key-DEK 930), thecounter (pATC) field of the received message may be used to derive thesession keys (Aut-Session-Key 935 and DEK-Session-Key 940) for thatparticular card. Cryptogram B 960 may be decrypted using theDEK-Session-KEY, which yields cryptogram A 955 and RND, and RND may bediscarded. The UID field may be used to look up the shared secret of thecontactless card which, along with the Ver, UID, and pATC fields of themessage, may be processed through the cryptographic MAC using there-created Aut-Session-Key to create a MAC output, such as MAC′. If MAC′is the same as cryptogram A 955, then this indicates that the messagedecryption and MAC checking have all passed. Then the pATC may be readto determine if it is valid.

During an authentication session, one or more cryptograms may begenerated by the one or more applications. For example, the one or morecryptograms may be generated as a 3DES MAC using ISO 9797-1 Algorithm 3with Method 2 padding via one or more session keys, such asAut-Session-Key 935. The input data 950 may take the following form:Version (2), pUID (8), pATC (4), Shared Secret (4). In some examples,the numbers in the brackets may comprise length in bytes. In someexamples, the shared secret may be generated by one or more randomnumber generators which may be configured to ensure, through one or moresecure processes, that the random number is unpredictable. In someexamples, the shared secret may comprise a random 4-byte binary numberinjected into the card at personalization time that is known by theauthentication service. During an authentication session, the sharedsecret may not be provided from the one or more applets to the mobileapplication. Method 2 padding may include adding a mandatory 0x‘80’ byteto the end of input data and 0x‘00’ bytes that may be added to the endof the resulting data up to the 8-byte boundary. The resultingcryptogram may comprise 8 bytes in length.

In some examples, one benefit of encrypting an unshared random number asthe first block with the MAC cryptogram, is that it acts as aninitialization vector while using CBC (Block chaining) mode of thesymmetric encryption algorithm. This allows the “scrambling” from blockto block without having to pre-establish either a fixed or dynamic IV.

By including the application transaction counter (pATC) as part of thedata included in the MAC cryptogram, the authentication service may beconfigured to determine if the value conveyed in the clear data has beentampered with. Moreover, by including the version in the one or morecryptograms, it is difficult for an attacker to purposefullymisrepresent the application version in an attempt to downgrade thestrength of the cryptographic solution. In some examples, the pATC maystart at zero and be updated by 1 each time the one or more applicationsgenerates authentication data. The authentication service may beconfigured to track the pATCs used during authentication sessions. Insome examples, when the authentication data uses a pATC equal to orlower than the previous value received by the authentication service,this may be interpreted as an attempt to replay an old message, and theauthenticated may be rejected. In some examples, where the pATC isgreater than the previous value received, this may be evaluated todetermine if it is within an acceptable range or threshold, and if itexceeds or is outside the range or threshold, verification may be deemedto have failed or be unreliable. In the MAC operation 936, data 950 isprocessed through the MAC using Aut-Session-Key 935 to produce MACoutput (cryptogram A) 955, which is encrypted.

In order to provide additional protection against brute force attacksexposing the keys on the card, it is desirable that the MAC cryptogram955 be enciphered. In some examples, data or cryptogram A 955 to beincluded in the ciphertext may comprise: Random number (8), cryptogram(8). In some examples, the numbers in the brackets may comprise lengthin bytes. In some examples, the random number may be generated by one ormore random number generators which may be configured to ensure, throughone or more secure processes, that the random number is unpredictable.The key used to encipher this data may comprise a session key. Forexample, the session key may comprise DEK-Session-Key 940. In theencryption operation 941, data or cryptogram A 955 and RND are processedusing DEK-Session-Key 940 to produce encrypted data, cryptogram B 960.The data 955 may be enciphered using 3DES in cipher block chaining modeto ensure that an attacker must run any attacks over all of theciphertext. As a non-limiting example, other algorithms, such asAdvanced Encryption Standard (AES), may be used. In some examples, aninitialization vector of 0x‘0000000000000000’ may be used. Any attackerseeking to brute force the key used for enciphering this data will beunable to determine when the correct key has been used, as correctlydecrypted data will be indistinguishable from incorrectly decrypted datadue to its random appearance.

In order for the authentication service to validate the one or morecryptograms provided by the one or more applets, the following data mustbe conveyed from the one or more applets to the mobile device in theclear during an authentication session: version number to determine thecryptographic approach used and message format for validation of thecryptogram, which enables the approach to change in the future; pUID toretrieve cryptographic assets, and derive the card keys; and pATC toderive the session key used for the cryptogram.

FIG. 10 illustrates a method 1000 for generating a cryptogram. Forexample, at block 1010, a network profile record ID (pNPR) andderivation key index (pDKI) may be used to identify which Issuer MasterKeys to use in the cryptographic processes for authentication. In someexamples, the method may include performing the authentication toretrieve values of pNPR and pDKI for a contactless card at the time ofauthentication.

At block 1020, Issuer Master Keys may be diversified by combining themwith the card's unique ID number (pUID) and the PAN sequence number(PSN) of one or more applets, for example, a payment applet.

At block 1030, Card-Key-Auth and Card-Key-DEK (unique card keys) may becreated by diversifying the Issuer Master Keys to generate session keyswhich may be used to generate a MAC cryptogram.

At block 1040, the keys used to generate the cryptogram and encipher thedata in the one or more applets may comprise the session keys of block1030 based on the card unique keys (Card-Key-Auth and Card-Key-DEK). Insome examples, these session keys may be generated by the one or moreapplets and derived by using pATC, resulting in session keysAut-Session-Key and DEK-Session-Key.

FIG. 11 depicts an exemplary process 1100 illustrating keydiversification according to one example. Initially, a sender and therecipient may be provisioned with two different master keys. Forexample, a first master key may comprise the data encryption master key,and a second master key may comprise the data integrity master key. Thesender has a counter value, which may be updated at block 1110, andother data, such as data to be protected, which it may secure share withthe recipient.

At block 1120, the counter value may be encrypted by the sender usingthe data encryption master key to produce the data encryption derivedsession key, and the counter value may also be encrypted by the senderusing the data integrity master key to produce the data integrityderived session key. In some examples, a whole counter value or aportion of the counter value may be used during both encryptions.

In some examples, the counter value may not be encrypted. In theseexamples, the counter may be transmitted between the sender and therecipient in the clear, i.e., without encryption.

At block 1130, the data to be protected is processed with acryptographic MAC operation by the sender using the data integritysession key and a cryptographic MAC algorithm. The protected data,including plaintext and shared secret, may be used to produce a MACusing one of the session keys (AUT-Session-Key).

At block 1140, the data to be protected may be encrypted by the senderusing the data encryption derived session key in conjunction with asymmetric encryption algorithm. In some examples, the MAC is combinedwith an equal amount of random data, for example each 8 bytes long, andthen encrypted using the second session key (DEK-Session-Key).

At block 1150, the encrypted MAC is transmitted, from the sender to therecipient, with sufficient information to identify additional secretinformation (such as shared secret, master keys, etc.), for verificationof the cryptogram.

At block 1160, the recipient uses the received counter value toindependently derive the two derived session keys from the two masterkeys as explained above.

At block 1170, the data encryption derived session key is used inconjunction with the symmetric decryption operation to decrypt theprotected data. Additional processing on the exchanged data will thenoccur. In some examples, after the MAC is extracted, it is desirable toreproduce and match the MAC. For example, when verifying the cryptogram,it may be decrypted using appropriately generated session keys. Theprotected data may be reconstructed for verification. A MAC operationmay be performed using an appropriately generated session key todetermine if it matches the decrypted MAC. As the MAC operation is anirreversible process, the only way to verify is to attempt to recreateit from source data.

At block 1180, the data integrity derived session key is used inconjunction with the cryptographic MAC operation to verify that theprotected data has not been modified.

Some examples of the methods described herein may advantageously confirmwhen a successful authentication is determined when the followingconditions are met. First, the ability to verify the MAC shows that thederived session key was proper. The MAC may only be correct if thedecryption was successful and yielded the proper MAC value. Thesuccessful decryption may show that the correctly derived encryption keywas used to decrypt the encrypted MAC. Since the derived session keysare created using the master keys known only to the sender (e.g., thetransmitting device) and recipient (e.g., the receiving device), it maybe trusted that the contactless card which originally created the MACand encrypted the MAC is indeed authentic. Moreover, the counter valueused to derive the first and second session keys may be shown to bevalid and may be used to perform authentication operations.

Thereafter, the two derived session keys may be discarded, and the nextiteration of data exchange will update the counter value (returning toblock 1110) and a new set of session keys may be created (at block1120). In some examples, the combined random data may be discarded.

Example embodiments of systems and methods described herein may beconfigured to provide security factor authentication. The securityfactor authentication may comprise a plurality of processes. As part ofthe security factor authentication, a first process may comprise loggingin and validating a user via one or more applications executing on adevice. As a second process, the user may, responsive to successfullogin and validation of the first process via the one or moreapplications, engage in one or more behaviors associated with one ormore contactless cards. In effect, the security factor authenticationmay include both securely proving identity of the user and engaging inone or more types of behaviors, including but not limited to one or moretap gestures, associated with the contactless card. In some examples,the one or more tap gestures may comprise a tap of the contactless cardby the user to a device. In some examples, the device may comprise amobile device, a kiosk, a terminal, a tablet, or any other deviceconfigured to process a received tap gesture.

In some examples, the contactless card may be tapped to a device, suchas one or more computer kiosks or terminals, to verify identity so as toreceive a transactional item responsive to a purchase, such as a coffee.By using the contactless card, a secure method of proving identity in aloyalty program may be established. Securely proving the identity, forexample, to obtain a reward, coupon, offer, or the like or receipt of abenefit is established in a manner that is different than merelyscanning a bar card. For example, an encrypted transaction may occurbetween the contactless card and the device, which may configured toprocess one or more tap gestures. As explained above, the one or moreapplications may be configured to validate identity of the user and thencause the user to act or respond to it, for example, via one or more tapgestures. In some examples, data for example, bonus points, loyaltypoints, reward points, healthcare information, etc., may be written backto the contactless card.

In some examples, the contactless card may be tapped to a device, suchas a mobile device. As explained above, identity of the user may beverified by the one or more applications which would then grant the usera desired benefit based on verification of the identity.

In some examples, the contactless card may be activated by tapping to adevice, such as a mobile device. For example, the contactless card maycommunicate with an application of the device via a card reader of thedevice through NFC communication. The communication, in which a tap ofthe card proximate the card reader of the device may allow theapplication of the device to read data associated with the contactlesscard and activate the card. In some examples, the activation mayauthorize the card to be used to perform other functions, e.g.,purchases, access account or restricted information, or other functions.In some examples, the tap may activate or launch the application of thedevice and then initiate one or more actions or communications with oneor more servers to activate the contactless card. If the application isnot installed on the device, a tap of the contactless card proximate thecard reader may initiate a download of the application, such asnavigation to a download page of the application). Subsequent toinstallation, a tap of the contactless card may activate or launch theapplication, and then initiate, for example via the application or otherback-end communication), activation of the contactless card. Afteractivation, the contactless card may be used in various activities,including without limitation commercial transactions.

In some embodiments, a dedicated application may be configured toexecute on a client device to perform the activation of the contactlesscard. In other embodiments, a webportal, a web-based app, an applet,and/or the like may perform the activation. Activation may be performedon the client device, or the client device may merely act as a gobetween for the contactless card and an external device (e.g., accountserver). According to some embodiments, in providing activation, theapplication may indicate, to the account server, the type of deviceperforming the activation (e.g., personal computer, smartphone, tablet,or point-of-sale (POS) device). Further, the application may output, fortransmission, different and/or additional data to the account serverdepending on the type of device involved. For example, such data maycomprise information associated with a merchant, such as merchant type,merchant ID, and information associated with the device type itself,such as POS data and POS ID.

In some embodiments, the example authentication communication protocolmay mimic an offline dynamic data authentication protocol of the EMVstandard that is commonly performed between a transaction card and apoint-of-sale device, with some modifications. For example, because theexample authentication protocol is not used to complete a paymenttransaction with a card issuer/payment processor per se, some datavalues are not needed, and authentication may be performed withoutinvolving real-time online connectivity to the card issuer/paymentprocessor. As is known in the art, point of sale (POS) systems submittransactions including a transaction value to a card issuer. Whether theissuer approves or denies the transaction may be based on if the cardissuer recognizes the transaction value. Meanwhile, in certainembodiments of the present disclosure, transactions originating from amobile device lack the transaction value associated with the POSsystems. Therefore, in some embodiments, a dummy transaction value(i.e., a value recognizable to the card issuer and sufficient to allowactivation to occur) may be passed as part of the example authenticationcommunication protocol. POS based transactions may also declinetransactions based on the number of transaction attempts (e.g.,transaction counter). A number of attempts beyond a buffer value mayresult in a soft decline; the soft decline requiring furtherverification before accepting the transaction. In some implementations,a buffer value for the transaction counter may be modified to avoiddeclining legitimate transactions.

In some examples, the contactless card can selectively communicateinformation depending upon the recipient device. Once tapped, thecontactless card can recognize the device to which the tap is directed,and based on this recognition the contactless card can provideappropriate data for that device. This advantageously allows thecontactless card to transmit only the information required to completethe instant action or transaction, such as a payment or cardauthentication. By limiting the transmission of data and avoiding thetransmission of unnecessary data, both efficiency and data security canbe improved. The recognition and selective communication of informationcan be applied to a various scenarios, including card activation,balance transfers, account access attempts, commercial transactions, andstep-up fraud reduction.

If the contactless card tap is directed to a device running Apple's iOS®operating system, e.g., an iPhone, iPod, or iPad, the contactless cardcan recognize the iOS® operating system and transmit data appropriatedata to communicate with this device. For example, the contactless cardcan provide the encrypted identity information necessary to authenticatethe card using NDEF tags via, e.g., NFC. Similarly, if the contactlesscard tap is directed to a device running the Android® operating system,e.g., an Android® smartphone or tablet, the contactless card canrecognize the Android® operating system and transmit appropriate anddata to communicate with this device (such as the encrypted identityinformation necessary for authentication by the methods describedherein).

As another example, the contactless card tap can be directed to a POSdevice, including without limitation a kiosk, a checkout register, apayment station, or other terminal. Upon performance of the tap, thecontactless card can recognize the POS device and transmit only theinformation necessary for the action or transaction. For example, uponrecognition of a POS device used to complete a commercial transaction,the contactless card can communicate payment information necessary tocomplete the transaction under the EMV standard.

In some examples, the POS devices participating in the transaction canrequire or specify additional information, e.g., device-specificinformation, location-specific information, and transaction-specificinformation, that is to be provided by the contactless card. Forexample, once the POS device receives a data communication from thecontactless card, the POS device can recognize the contactless card andrequest the additional information necessary to complete an action ortransaction.

In some examples the POS device can be affiliated with an authorizedmerchant or other entity familiar with certain contactless cards oraccustomed to performing certain contactless card transactions. However,it is understood such an affiliation is not required for the performanceof the described methods.

In some examples, such as a shopping store, grocery store, conveniencestore, or the like, the contactless card may be tapped to a mobiledevice without having to open an application, to indicate a desire orintent to utilize one or more of reward points, loyalty points, coupons,offers, or the like to cover one or more purchases. Thus, an intentionbehind the purchase is provided.

In some examples, the one or more applications may be configured todetermine that it was launched via one or more tap gestures of thecontactless card, such that a launch occurred at 3:51 pm, that atransaction was processed or took place at 3:56 pm, in order to verifyidentity of the user.

In some examples, the one or more applications may be configured tocontrol one or more actions responsive to the one or more tap gestures.For example, the one or more actions may comprise collecting rewards,collecting points, determine the most important purchase, determine theleast costly purchase, and/or reconfigure, in real-time, to anotheraction.

In some examples, data may be collected on tap behaviors asbiometric/gestural authentication. For example, a unique identifier thatis cryptographically secure and not susceptible to interception may betransmitted to one or more backend services. The unique identifier maybe configured to look up secondary information about individual. Thesecondary information may comprise personally identifiable informationabout the user. In some examples, the secondary information may bestored within the contactless card.

In some examples, the device may comprise an application that splitsbills or check for payment amongst a plurality of individuals. Forexample, each individual may possess a contactless card, and may becustomers of the same issuing financial institution, but it is notnecessary. Each of these individuals may receive a push notification ontheir device, via the application, to split the purchase. Rather thanaccepting only one card tap to indicate payment, other contactless cardsmay be used. In some examples, individuals who have different financialinstitutions may possess contactless cards to provide information toinitiate one or more payment requests from the card-tapping individual.

The following example use cases describe examples of particularimplementations of the present disclosure. These are intended solely forexplanatory purposes and not for purposes of limitation. In one case, afirst friend (payor) owes a second friend (payee) a sum of money. Ratherthan going to an ATM or requiring exchange through a peer-to-peerapplication, payor wishes to pay via payee's smartphone (or otherdevice) using a contactless card. Payee logs-on to the appropriateapplication on his smartphone and selects a payment request option. Inresponse, the application requests authentication via payee'scontactless card. For example, the application outputs a displayrequesting that payee tap his contactless card. Once payee taps hiscontactless card against the screen of his smartphone with theapplication enabled, the contactless card is read and verified. Next,the application displays a prompt for payor to tap his contactless cardto send payment. After the payor taps his contactless card, theapplication reads the card information and transmits, via an associatedprocessor, a request for payment to payor's card issuer. The card issuerprocesses the transaction and sends a status indicator of thetransaction to the smartphone. The application then outputs for displaythe status indicator of the transaction.

In another example case, a credit card customer may receive a new creditcard (or debit card, other payment card, or any other card requiringactivation) in the mail. Rather than activating the card by calling aprovided telephone number associated with the card issuer or visiting awebsite, the customer may decide to activate the card via an applicationon his or her device (e.g., a mobile device such as a smartphone). Thecustomer may select the card activation feature from the application'smenu that is displayed on a display of the device. The application mayprompt the customer to tap his or her credit card against the screen.Upon tapping the credit card against the screen of the device, theapplication may be configured to communicate with a server, such as acard issuer server which activates the customer's card. The applicationmay then displays a message indicating successful activation of thecard. The card activation would then be complete.

FIG. 12 illustrates a method 1200 for card activation according to anexample embodiment. For example, card activation may be completed by asystem including a card, a device, and one or more servers. Thecontactless card, device, and one or more servers may reference same orsimilar components that were previously explained above with referenceto FIG. 1A, FIG. 1B, FIG. 5A, and FIG. 5B, such as contactless card 105,client device 110, and server 120.

In block 1210, the card may be configured to dynamically generate data.In some examples, this data may include information such as an accountnumber, card identifier, card verification value, or phone number, whichmay be transmitted from the card to the device. In some examples, one ormore portions of the data may be encrypted via the systems and methodsdisclosed herein.

In block 1220, one or more portions of the dynamically generated datamay be communicated to an application of the device via NFC or otherwireless communication. For example, a tap of the card proximate to thedevice may allow the application of the device to read the one or moreportions of the data associated with the contactless card. In someexamples, if the device does not comprise an application to assist inactivation of the card, the tap of the card may direct the device orprompt the customer to a software application store to download anassociated application to activate the card. In some examples, the usermay be prompted to sufficiently gesture, place, or orient the cardtowards a surface of the device, such as either at an angle or flatlyplaced on, near, or proximate the surface of the device. Responsive to asufficient gesture, placement and/or orientation of the card, the devicemay proceed to transmit the one or more encrypted portions of datareceived from the card to the one or more servers.

In block 1230, the one or more portions of the data may be communicatedto one or more servers, such as a card issuer server. For example, oneor more encrypted portions of the data may be transmitted from thedevice to the card issuer server for activation of the card.

In block 1240, the one or more servers may decrypt the one or moreencrypted portions of the data via the systems and methods disclosedherein. For example, the one or more servers may receive the encrypteddata from the device and may decrypt it in order to compare the receiveddata to record data accessible to the one or more servers. If aresulting comparison of the one or more decrypted portions of the databy the one or more servers yields a successful match, the card may beactivated. If the resulting comparison of the one or more decryptedportions of the data by the one or more servers yields an unsuccessfulmatch, one or more processes may take place. For example, responsive tothe determination of the unsuccessful match, the user may be prompted totap, swipe, or wave gesture the card again. In this case, there may be apredetermined threshold comprising a number of attempts that the user ispermitted to activate the card. Alternatively, the user may receive anotification, such as a message on his or her device indicative of theunsuccessful attempt of card verification and to call, email or text anassociated service for assistance to activate the card, or anothernotification, such as a phone call on his or her device indicative ofthe unsuccessful attempt of card verification and to call, email or textan associated service for assistance to activate the card, or anothernotification, such as an email indicative of the unsuccessful attempt ofcard verification and to call, email or text an associated service forassistance to activate the card.

In block 1250, the one or more servers may transmit a return messagebased on the successful activation of the card. For example, the devicemay be configured to receive output from the one or more serversindicative of a successful activation of the card by the one or moreservers. The device may be configured to display a message indicatingsuccessful activation of the card. Once the card has been activated, thecard may be configured to discontinue dynamically generating data so asto avoid fraudulent use. In this manner, the card may not be activatedthereafter, and the one or more servers are notified that the card hasalready been activated.

In another example case, a customer wants to access his financialaccounts on his or her mobile phone. The customer launches anapplication (e.g., a bank application) on the mobile device and inputs ausername and password. At this stage, the customer may see first-levelaccount information (e.g., recent purchases) and be able to performfirst-level account options (e.g., pay credit-card). However, if theuser attempts to access second-level account information (e.g., spendinglimit) or perform a second-level account option (e.g., transfer toexternal system) he must have a second-factor authentication.Accordingly, the application requests that a user provide a transactioncard (e.g., credit card) for account verification. The user then tapshis credit card to the mobile device, and the application verifies thatthe credit card corresponds to the user's account. Thereafter, the usermay view second-level account data and/or perform second-level accountfunctions.

Systems and methods disclosed herein provide the sharing private keysbetween a plurality of applets. The private keys are not stored in anapplet but rather may be stored in a secure element of the contactlesscard. The private keys may be rotated in a prearranged manner, which mayalso be known by one or more servers and thus adds an additional levelof security. In one example, the first and second applets may be createdwith a shared security domain. The shared security domain may beconfigured to allow for both applets to access the private keys in asecure element that may be shared by the applets. In another example, asecure tunnel may be formed between these applets which does not storethe keys since they are requested from a secure element. As aconsequence, the techniques described herein provide a variety ofbenefits, including increased security for users and issuinginstitutions, and difficulty in key prediction.

FIG. 13 illustrates a system 1300, such as a contactless card sharingsystem, comprising a contactless card 1305, and one or more servers1320. Although FIG. 13 illustrates single instances of the components,system 1300 may include any number of components. The contactless card1305, and one or more servers 1320 may reference same or similarcomponents that were previously explained above with reference to FIG.1A, FIG. 1B, FIG. 5A, and FIG. 5B, such as contactless card 105, andserver 120.

The contactless card 1305 may include one or more processors 1307 andmemory 1309. The memory 1309 may include a plurality of applets. In someexamples, the memory 1309 may include a first applet 1311 and secondapplet 1313. Further reference to contactless card 1305 and server 1320operations are described in FIGS. 14A and 14B.

The one or more servers 1320 may be in data communication with thecontactless card 1305. For example, the one or more servers 1320 may beconfigured to receive and transmit data from the contactless card 1305.For example, the one or more servers 1320 may be configured to look upor match a given key utilized by the contactless card 1305 duringrotation of the keys in the contactless card 1305. In some examples, theone or more servers 1320 may store or have access to a plurality ofkeys. By way of example, for a transaction, one key from the contactlesscard 1305 may be selected for cryptogram generation. This key may betransmitted to the one or more servers 1320. Each key may be configuredto perform a particular cryptographic service, including but not limitedto, cryptogram generation, encryption, or decryption. As explainedbelow, contactless card 1305 may be configured to transmit an index toone or more servers 1320.

The one or more servers 1320 may be configured to receive an index fromcontactless card 1305. For example, the index may indicate which key isbeing requested in order to maintain the rotation of the plurality ofkeys. The one or more servers 1320 may be configured to alternateamongst the plurality of keys based one or more security rules. By wayof example, one security rule may include rotating between the pluralityof keys in a random sequence. One security rule may include rotatingbetween the plurality of keys in a predetermined sequence. In someexamples, the one or more security rules may include rotating betweenthe plurality of keys in a predetermined sequence based on a declarationtable. In some examples, each of the plurality of keys may be assigned anumber, such as an even or odd number, and the predetermined sequencemay select between odd and even numbers. In other examples, each of theplurality of keys may be assigned a prime number or non-prime number,and the predetermined sequence may select between prime and non-primenumbers. As a consequence, the plurality of keys may be used by the oneor more servers 1320 to compare with the keys of the contactless card1305 based on one or more security rules associated with a declarationtable.

As illustrated in FIG. 14A, system 1400 may include an access system forsharing one or more keys. Although FIG. 14A illustrates single instancesof the components, system 1400 may include any number of components. Insome examples, FIG. 14A may reference same or similar components thatwere previously explained above with reference to FIG. 13, such ascontactless card, secure element, and applets.

For example, system 1400 may comprise the first applet 1415 and secondapplet 1420 which may be created with a shared security domain 1402. Insome examples, applet 1415 and applet 1420 may comprise first applet andsecond applet, respectively, as explained above with respect to FIG. 13.The shared security domain 1402 may be configured to allow for bothapplets 1415 and 1420 to access private keys of secure element 1410 thatmay be shared by the first applet 1415 and the second applet 1420. Insome examples, the security domain 1402 may be configured as anapplication and/or applet of the contactless card to ensure thatinformation therein is securely stored so as to prevent the risk of lossof information, and to also specify different levels of access ofinformation for different types of applets. Without limitation, securitydomain 1402 may be associated with one or more credentials for a firstapplet 1415 and/or one or more credentials for a second applet 1420 soas to prevent unauthorized use of the applets. For example, one or moreapplets may belong to the same security domain 1402, and thus theplurality of keys may be accessed through the secure element 1410 of thecontactless card. One or more cryptographic services may be performed byspecifying, such as via one or more requests from applet 1415, one ormore of the plurality of keys since the plurality of keys are not withinthe one or more applets 1415 and 1420. In some examples, one or morecryptographic services may comprise cryptogram generation, encryption,or decryption.

As illustrated in FIG. 14B, system 1450 may include another accesssystem for sharing one or more keys. Although FIG. 14B illustratessingle instances of the components, system 1400 may include any numberof components. In some examples, FIG. 14B may reference same or similarcomponents that were previously explained above with reference to FIG.13, and FIG. 14A, such as contactless card, secure element, securitydomain, and applets.

Applet 1455 and applet 1465 may comprise first applet and second applet,respectively, as explained above with respect to FIG. 13 or FIG. 14A.Applet 1455 may belong to security domain 1452 and be in communicationwith one or more keys of secure element 1460. Applet 1465 may belong tosecurity domain 1454 and be in communication with applet 1455 via one ormore secure tunnels 1456. In some examples, the security domain 1452 maybe different than security domain 1454. By way of example, at least onesecurity domain may comprise a card security domain, and anothersecurity domain may comprise an applet security domain. Applet 1455 maybe configured to utilize a secure tunnel 1456 to communicate with asecond applet 1465. At least one of the applets 1455 and 1465 maycomprise a transactional applet, including but not limited to an EMVapplet. Applet 1465 may be configured to request applet 1455 to encodeits payload strings using the keys, such as one or more private keys,stored in the secure element 1460. For example, an encryption requestmay be processed in the secure element 1460.

For example, the contactless card may be configured to declare a sharedobject or interface, and one of applets 1455 and 1465 may be configuredto perform one or more cryptographic services for the other applet 1455and 1465 of the plurality of applets. In some examples, one or morecryptographic services may comprise cryptogram generation, encryption,or decryption. A different security domain may be utilized for eachapplet, and the one or more cryptographic services may be transmittedacross the shared object or interface associated with secure tunnel1456.

By way of example, applet 1465 may transmit a request to applet 1455 fora cryptographic service based on access to one or more keys of secureelement 1460. Responsive to this request, the one or more keys of secureelement 1460 may be utilized to perform the requested cryptographicservice. Rather than sharing information, such as transaction orpurchase information, and comparing this information to a server withits own record to determine authenticity of a user, the interface thatis shared is different for implementation of one or more cryptographicservices. Thus, one or more cryptographic services may be called, ratherthan requesting transaction or purchase information. In some examples,the shared object or interface may be created by at least one applet1455 or 1465, and declared by another applet 1455 or 1465. In someexamples, the requesting applet, such as applet 1455 or 1465, may beconfigured to request the one or more cryptographic services on itsbehalf. For example, a request for encryption by applet 1465 may return,from applet 1455, an encrypted version of the requested data.Accordingly, the requesting applet would not need to know the keys forthe requested one or more cryptographic services. Thus, in order toimplement the shared object, a modification to the transaction appletmay be performed in the manner explained above, at least with respect tocommunication and request for the one or more cryptographic services viathe plurality of keys of secure element 1460.

In some examples, when an intrusion has occurred, one or more keys ofsecure element 1460 may be invalidated. As a consequence, any rogue ormalicious code would not be able to recreate the one or more keys ofsecure element 1460. In some examples, at least one of the plurality ofkeys may comprise a limited use or single session key. When an intrusionof one or more of applets 1455 or 1465 is detected, that particularapplet may be terminated. In other examples, when an intrusion of one ormore applets 1455 or 1465 is detected, the plurality of keys of thecorresponding secure element may be destroyed. For example, should oneof the applets be deemed compromised, including but not limited due tointrusion detection, and another applet was not compromised, thecompromised applet may still be configured to request the other applet,such as the non-compromised applet, to perform one or more cryptographicservices on its behalf.

In another example, rather than transmitting one or more keys betweenapplet 1455 and 1465 via secure tunnel 1456 for performing one or morecryptographic services, a request may be made from applet 1465 to secureelement 1460 or by a request to applet 1455 to do so. For example,encrypted information may be transmitted between the applet 1455 andapplet 1465 such that one or more cryptographic services may beperformed such that the one or more keys do not leave the secure element1460.

FIG. 15 illustrates a method 1500 for sharing keys in a contactlesscard. Method 1500 may reference same or similar components as describedabove with respect to FIG. 13, FIG. 14A, and FIG. 14B.

At block 1510, the method may include establishing communication betweena first applet and a second applet of a contactless card, thecontactless card comprising one or more processors, and memorycontaining the first and second applets and a plurality keys.

At block 1520, the method may include communicating, by the secondapplet, a first request to the first applet to perform one or morecryptographic operations.

At block 1530, the method may include retrieving, by the first applet,the plurality of keys based on the first request. In one example, thefirst applet and second applet may be created with a shared securitydomain. The shared security domain may be configured to allow for bothapplets to access private keys of secure element that may be shared bythe first applet and the second applet. In some examples, the securitydomain may be configured as an application and/or applet of thecontactless card to ensure that information therein is securely storedso as to prevent the risk of loss of information, and to also specifydifferent levels of access of information for different types ofapplets. Without limitation, security domain 1402 may be associated withone or more credentials for a first applet and/or one or morecredentials for a second applet so as to prevent unauthorized use of theapplets. For example, one or more applets may belong to the samesecurity domain, and thus the plurality of keys may be accessed throughthe secure element of the contactless card. One or more cryptographicservices may be performed by specifying, such as via one or morerequests from an applet, one or more of the plurality of keys since theplurality of keys are not within the applets. In some examples, one ormore cryptographic services may comprise cryptogram generation,encryption, or decryption.

At block 1540, the method may include receiving, at the second applet,one or more encrypted payload strings based on the plurality of privatekeys. In another example, one of the applets may belong to a firstsecurity domain and be in communication with one or more keys of asecure element associated with one of the applets. Another applet maybelong to second security domain and be in communication with the firstapplet via one or more secure tunnels. In some examples, the securitydomain of the first applet may be different than the security domain ofthe second applet. By way of example, at least one security domain maycomprise a card security domain, and another security domain maycomprise an applet security domain. One of the applets may be configuredto utilize a secure tunnel to communicate with a second applet. At leastone of the applets may comprise a transactional applet, including butnot limited to an EMV applet. At least one of the applets may beconfigured to request another applet to encode its payload strings usingthe keys, such as one or more private keys, stored in the secure elementof the requestee applet. For example, an encryption request may beprocessed in the secure element.

For example, the contactless card may be configured to declare a sharedobject or interface, and one of applets may be configured to perform oneor more cryptographic services on behalf of the other applet of theplurality of applets. In some examples, one or more cryptographicservices may comprise cryptogram generation, encryption, or decryption.A different security domain may be utilized for each applet, and the oneor more cryptographic services may be transmitted across the sharedobject or interface associated with secure tunnel.

At block 1550, the method may include performing the one or morecryptographic operations based on the one or more received encryptedpayload strings. By way of example, one applet may transmit a request toanother applet for a cryptographic service based on access to one ormore keys of the secure element. Responsive to this request, the one ormore keys of secure element may be utilized to perform the requestedcryptographic service. Rather than sharing information, such astransaction or purchase information, and comparing this information to aserver with its own record to determine authenticity of a user, theinterface that is shared is different for implementation of one or morecryptographic services. Thus, one or more cryptographic services may becalled, rather than requesting transaction or purchase information. Insome examples, the shared object or interface may be created by at leastone applet, and declared by another applet. In some examples, therequesting applet may be configured to request the one or morecryptographic services on its behalf. For example, a request forencryption by one applet may return, from another applet, an encryptedversion of the requested data. Accordingly, the requesting applet wouldnot need to know the keys for the requested one or more cryptographicservices. Thus, in order to implement the shared object, a modificationto the transaction applet may be performed in the manner explainedabove, at least with respect to communication and request for the one ormore cryptographic services via the plurality of keys of secure element.

In some examples, when an intrusion has occurred, one or more keys ofsecure element may be invalidated. As a consequence, any rogue ormalicious code would not be able to recreate the one or more keys ofsecure element. In some examples, at least one of the plurality of keysmay comprise a limited use or single session key. When an intrusion ofone or more of applets is detected, that particular applet may beterminated. In other examples, when an intrusion of one or more appletsis detected, the plurality of keys of the corresponding secure elementmay be destroyed. For example, should one of the applets be deemedcompromised, including but not limited to due to intrusion detection,and another applet was not compromised, the compromised applet may stillbe configured to request the other applet, such as the non-compromisedapplet, to perform one or more cryptographic services on its behalf.

In another example, rather than transmitting one or more keys betweenthe applets via secure tunnel for performing one or more cryptographicservices, a request may be made from the requesting applet to secureelement associated with the other applet or by a request to the otherapplet to do so. For example, encrypted information may be transmittedbetween the applets such that one or more cryptographic services may beperformed such that the one or more keys do not leave the secureelement.

At block 1560, the method may include rotating, by one or more servers,amongst the plurality of private keys based one or more security rules.In some examples, method 1500 may not include block 1560.

The one or more servers may be in data communication with thecontactless card. For example, the one or more servers may be configuredto receive and transmit data from the contactless card. For example, theone or more servers may be configured to look up or match a given keyutilized by the contactless card during rotation of the keys in thecontactless card. In some examples, the one or more servers may store orhave access to a plurality of keys. By way of example, for atransaction, one key from the contactless card may be selected forcryptogram generation. This key may be transmitted to the one or moreservers. Each key may be configured to perform a particularcryptographic service, including but not limited to, cryptogramgeneration, encryption, or decryption. As explained below, contactlesscard may be configured to transmit an index to one or more servers.

The one or more servers may be configured to receive an index fromcontactless card. For example, the index may indicate which key is beingrequested in order to maintain the rotation of the plurality of keys.The one or more servers may be configured to alternate amongst theplurality of keys based one or more security rules. By way of example,one security rule may include rotating between the plurality of keys ina random sequence. One security rule may include rotating between theplurality of keys in a predetermined sequence. In some examples, the oneor more security rules may include rotating between the plurality ofkeys in a predetermined sequence based on a declaration table. In someexamples, each of the plurality of keys may be assigned a number, suchas an even or odd number, and the predetermined sequence may selectbetween odd and even numbers. In other examples, each of the pluralityof keys may be assigned a prime number or non-prime number, and thepredetermined sequence may select between prime and non-prime numbers.As a consequence, the plurality of keys may be used by the one or moreservers to compare with the keys of the contactless card based on one ormore security rules associated with a declaration table.

In some examples, the present disclosure refers to a tap of thecontactless card. However, it is understood that the present disclosureis not limited to a tap, and that the present disclosure includes othergestures (e.g., a wave or other movement of the card).

Throughout the specification and the claims, the following terms take atleast the meanings explicitly associated herein, unless the contextclearly dictates otherwise. The term “or” is intended to mean aninclusive “or.” Further, the terms “a,” “an,” and “the” are intended tomean one or more unless specified otherwise or clear from the context tobe directed to a singular form.

In this description, numerous specific details have been set forth. Itis to be understood, however, that implementations of the disclosedtechnology may be practiced without these specific details. In otherinstances, well-known methods, structures and techniques have not beenshown in detail in order not to obscure an understanding of thisdescription. References to “some examples,” “other examples,” “oneexample,” “an example,” “various examples,” “one embodiment,” “anembodiment,” “some embodiments,” “example embodiment,” “variousembodiments,” “one implementation,” “an implementation,” “exampleimplementation,” “various implementations,” “some implementations,”etc., indicate that the implementation(s) of the disclosed technology sodescribed may include a particular feature, structure, orcharacteristic, but not every implementation necessarily includes theparticular feature, structure, or characteristic. Further, repeated useof the phrases “in one example,” “in one embodiment,” or “in oneimplementation” does not necessarily refer to the same example,embodiment, or implementation, although it may.

As used herein, unless otherwise specified the use of the ordinaladjectives “first,” “second,” “third,” etc., to describe a commonobject, merely indicate that different instances of like objects arebeing referred to, and are not intended to imply that the objects sodescribed must be in a given sequence, either temporally, spatially, inranking, or in any other manner.

While certain implementations of the disclosed technology have beendescribed in connection with what is presently considered to be the mostpractical and various implementations, it is to be understood that thedisclosed technology is not to be limited to the disclosedimplementations, but on the contrary, is intended to cover variousmodifications and equivalent arrangements included within the scope ofthe appended claims. Although specific terms are employed herein, theyare used in a generic and descriptive sense only and not for purposes oflimitation.

This written description uses examples to disclose certainimplementations of the disclosed technology, including the best mode,and also to enable any person skilled in the art to practice certainimplementations of the disclosed technology, including making and usingany devices or systems and performing any incorporated methods. Thepatentable scope of certain implementations of the disclosed technologyis defined in the claims, and may include other examples that occur tothose skilled in the art. Such other examples are intended to be withinthe scope of the claims if they have structural elements that do notdiffer from the literal language of the claims, or if they includeequivalent structural elements with insubstantial differences from theliteral language of the claims.

1-20. (canceled)
 21. A cryptographic system comprising: a contactlesscard including a processor, and a memory, wherein the memory contains afirst applet, a second applet, and a plurality of keys; wherein thefirst applet is configured to receive, from the second applet, one ormore requests to encrypt one or more payload strings using the pluralityof keys to perform one or more cryptographic operations, and wherein thefirst applet is configured to perform, after a detection of anintrusion, the one or more cryptographic operations on behalf of thesecond applet based on the one or more requests.
 22. The cryptographicsystem of claim 21, wherein the one or more cryptographic operationscomprises at least one selected from the group of encryption,decryption, and cryptogram generation.
 23. The cryptographic system ofclaim 21, wherein the first applet is configured to perform, afterdetection of the intrusion of the second applet, the one or morecryptographic operations.
 24. The cryptographic system of claim 23,wherein the second applet is terminated after the detection of theintrusion.
 25. The cryptographic system of claim 21, wherein one or moreof the plurality of keys are destroyed after the detection of theintrusion.
 26. The cryptographic system of claim 21, wherein the firstapplet communicates with the second applet via a secure tunnel.
 27. Thecryptographic system of claim 21, wherein the plurality of keys arerotated based on an index.
 28. The cryptographic system of claim 21,wherein the first applet and the second applet belong to a firstsecurity domain.
 29. The cryptographic system of claim 21, wherein thefirst applet belongs to a first security domain and the second appletbelongs to a second security domain.
 30. A method of performing one ormore cryptographic operations, the method comprising the steps of:transmitting, from a first applet to a second applet, one or morerequests to encrypt one or more payload strings based on a plurality ofkeys to perform one or more cryptographic operations; and performing, bythe second applet and after a detection of an intrusion, the one or morecryptographic operations on behalf of the first applet based on the oneor more requests.
 31. The method of claim 30, wherein the one or morecryptographic operations comprises at least one selected from the groupof encryption, decryption, and cryptogram generation.
 32. The method ofclaim 30, wherein the detection of the intrusion is associated with thefirst applet.
 33. The method of claim 32, further comprisingterminating, after the detection of the intrusion, the first applet. 34.The method of claim 30, further comprising invalidating, after thedetection of the intrusion, one or more of the plurality of keys. 35.The method of claim 30, wherein the first applet communicates with thesecond applet via a secure tunnel.
 36. The method of claim 30, furthercomprising rotating the plurality of keys based on an index.
 37. Themethod of claim 30, wherein the first applet and the second appletbelong to a first security domain.
 38. The method of claim 30, whereinthe first applet belongs to a first security domain and the secondapplet belongs to a second security domain.
 39. The method of claim 30,wherein each of the plurality of keys are assigned a number, and theplurality of keys are rotated based on a predetermined sequenceassociated with the number assigned to each of the plurality of keys.40. A computer readable non-transitory medium comprisingcomputer-executable instructions that are executed on a processor andcomprising the steps of: transmitting or more requests to encrypt one ormore payload strings based on a plurality of keys to perform one or morecryptographic operations; and performing, after a detection of anintrusion, the one or more cryptographic operations on behalf of anapplet based on the one or more requests.